package bombita.controlador;

import java.util.Random;

import org.jdom2.Element;

import bombita.modelo.Direccion;
import bombita.modelo.Juego;
import bombita.modelo.Personajes.Personaje;

public class ControladorDemente extends ControladorAI
{
	public ControladorDemente(String id)
	{
		super(id);
	}

	@Override
	public void agregarVista(Juego juego)
	{
		/* no usa vista */
	}
	
	@Override
	public void run ()
	{
		while (activo) {
			Random rng = new Random();
			for (Personaje controlado : controlados) {
				if (rng.nextFloat() < 0.05f) {
					controlado.disparar();
				}
				Float selectorMovimiento = rng.nextFloat();
				if (selectorMovimiento < 0.225f) {
					controlado.mover(Direccion.ABAJO);
				} else if (selectorMovimiento < 0.450f) {
					controlado.mover(Direccion.ARRIBA);
				} else if (selectorMovimiento < 0.675f) {
					controlado.mover(Direccion.DERECHA);
				} else if (selectorMovimiento < 0.900f) {
					controlado.mover(Direccion.IZQUIERDA);
				} else {
					controlado.mover(null);
				}
			}
			try {
				Thread.sleep(150);
			} catch (InterruptedException e) {}
		}
	}
	
	public static ControladorDemente deserializar(Element nodo)
	{
		return new ControladorDemente(nodo.getAttributeValue("id"));
	}
}
